package demo5;

import java.util.HashMap;
import java.util.Map;

/**
 * 子序列问题
 *      最长定差子序列
 */
public class test5 {
    public int longestSubsequence(int[] arr, int difference) {
        // 创建hash表
        Map<Integer,Integer> hash = new HashMap<>(); // arr[i],dp[i]
        // 初始化
        int ret = 1;
        for(int a:arr){
            hash.put(a,hash.getOrDefault(a-difference,0) + 1);
            ret = Math.max(ret,hash.get(a));
        }
        return ret;
    }
}
